﻿using Furion.DatabaseAccessor;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bdcs.Core.Entity
{
    /// <summary>
    /// Adv_AuthInfo数据模型对象
    /// </summary>
    [Serializable]
    public partial class Adv_AuthInfoMod :IEntity
    {
        /// <summary>
        /// 初始化Adv_AuthInfo数据模型对象
        /// </summary>
        public Adv_AuthInfoMod()
        {
            
        }
        /// <summary>
        /// 初始化Adv_AuthInfo数据模型对象并给在SQL中不能为空的字段赋值
        /// </summary>
        /// <param name="iD">ID</param>
        /// <param name="name">Name</param>
        /// <param name="enable">Enable</param>
        public Adv_AuthInfoMod(string iD,string name,bool enable)
        {
            //给ID字段赋值
            this.ID = iD;
            //给Name字段赋值
            this.Name = name;
            //给Enable字段赋值
            this.Enable = enable;
        }
        /// <summary>
        /// 初始化Adv_AuthInfo数据模型对象并给所有字段赋值
        /// </summary>
        /// <param name="iD">ID</param>
        /// <param name="name">Name</param>
        /// <param name="fID">FID</param>
        /// <param name="enable">Enable</param>
        /// <param name="remark">Remark</param>
        /// <param name="showSerial">ShowSerial</param>
        public Adv_AuthInfoMod(string iD,string name,string fID,bool enable,string remark,string showSerial)
        {
            //给ID字段赋值
            this.ID = iD;
            //给Name字段赋值
            this.Name = name;
            //给FID字段赋值
            this.FID = fID;
            //给Enable字段赋值
            this.Enable = enable;
            //给Remark字段赋值
            this.Remark = remark;
            //给ShowSerial字段赋值
            this.ShowSerial = showSerial;
        }
        
		//属性存储数据的变量
        private string _iD;
        private string _name;
        private string _fID;
        private bool _enable;
        private string _remark;
        private string _showSerial;
        
        /// <summary>
        /// ID
        /// </summary>
        public string ID
        {
            get { return this._iD; }
            set { this._iD = value; }
        }
        /// <summary>
        /// Name
        /// </summary>
        public string Name
        {
            get { return this._name; }
            set { this._name = value; }
        }
        /// <summary>
        /// FID
        /// </summary>
        public string FID
        {
            get { return this._fID; }
            set { this._fID = value; }
        }
        /// <summary>
        /// Enable
        /// </summary>
        public bool Enable
        {
            get { return this._enable; }
            set { this._enable = value; }
        }
        /// <summary>
        /// Remark
        /// </summary>
        public string Remark
        {
            get { return this._remark; }
            set { this._remark = value; }
        }
        /// <summary>
        /// ShowSerial
        /// </summary>
        public string ShowSerial
        {
            get { return this._showSerial; }
            set { this._showSerial = value; }
        }
        
        /// <summary>
        /// 对比两个Adv_AuthInfo数据模型对象是否一致
        /// </summary>
        /// <param name="obj">要进行比对的Adv_AuthInfo数据模型对象</param>
        /// <returns>返回是否一致，为true一致，为false不一致</returns>
        public override bool Equals(object obj)
        {
            //判断传入对象是否为null
            if (obj == null) return false;
            //将传入对象转换成Adv_AuthInfo数据模型对象
            Adv_AuthInfoMod adv_AuthInfoMod = obj as Adv_AuthInfoMod;
            //判断是否转换成功
            if (adv_AuthInfoMod == null) return false;
            //进行匹配属性的值
            return
                //判断ID是否一致
                this.ID == adv_AuthInfoMod.ID &&
                //判断Name是否一致
                this.Name == adv_AuthInfoMod.Name &&
                //判断FID是否一致
                this.FID == adv_AuthInfoMod.FID &&
                //判断Enable是否一致
                this.Enable == adv_AuthInfoMod.Enable &&
                //判断Remark是否一致
                this.Remark == adv_AuthInfoMod.Remark &&
                //判断ShowSerial是否一致
                this.ShowSerial == adv_AuthInfoMod.ShowSerial;
        }
        /// <summary>
        /// 将当前Adv_AuthInfo数据模型对象转换成哈希码
        /// </summary>
        /// <returns>哈希值</returns>
        public override int GetHashCode()
        {
            //将Adv_AuthInfo数据模型对象的属性进行按位异或运算处理得到哈希码并返回
            return
                //将ID进行按位异或运算处理
                (this.ID == null ? 2147483647 : this.ID.GetHashCode()) ^
                //将Name进行按位异或运算处理
                (this.Name == null ? 2147483647 : this.Name.GetHashCode()) ^
                //将FID进行按位异或运算处理
                (this.FID == null ? 2147483647 : this.FID.GetHashCode()) ^
                //将Enable进行按位异或运算处理
                this.Enable.GetHashCode() ^
                //将Remark进行按位异或运算处理
                (this.Remark == null ? 2147483647 : this.Remark.GetHashCode()) ^
                //将ShowSerial进行按位异或运算处理
                (this.ShowSerial == null ? 2147483647 : this.ShowSerial.GetHashCode());
        }
        /// <summary>
        /// 将当前Adv_AuthInfo数据模型对象转换成字符串副本【仅显示在SQL中不能为空的列】
        /// </summary>
        /// <returns>字符串形式副本</returns>
        public override string ToString()
        {
            //将当前Adv_AuthInfo数据模型对象转换成字符串副本
            return
                "[" +
                //将ID转换成字符串
                this.ID + "," +
                //将Name转换成字符串
                this.Name + "," +
                //将Enable转换成字符串
                this.Enable +
                "]";
        }
    }
}
